<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style></style>
  </head>
  <body>
    <div>
      <h1>引用计数算法优缺点</h1>
      <div>
        <h2>引用计数算法优点</h2>
        <p>1.发现垃圾时立即回收</p>
        <p>2.最大限度减少程序暂停(内存占满就会暂停)</p>
      </div>
      <div>
        <h2>引用计数算法缺点</h2>
        <p>1.无法回收循环引用的对象</p>
        <p>2.时间开销大(因为计数需要维护计数,需要时刻监视数字改变,修改)</p>
      </div>
    </div>
    <script>
      // 循环引用的对象
      function fn() {
        const obj1 = {};
        const obj2 = {};

        //下面这里造成循环引用,导致计数不为0

        // obj1中有一个属性指向onj2
        obj1.name = obj2;
        // obj2中有一个属性指向onj1
        obj2.naem = obj1;

        return "hh";
      }

      fn();
    </script>
  </body>
</html>
